Gradle Build Scripts এবং Tasks

Computer Programming - গ্রুভি (Groovy) Gradle এবং Groovy (গ্রেডল এবং গ্রুভি) |
182
182

Gradle Build Scripts এবং Tasks

Gradle হল একটি আধুনিক বিল্ড টুল যা Java, Groovy, Kotlin, এবং অন্যান্য ভাষার প্রোজেক্ট বিল্ড করতে ব্যবহৃত হয়। এটি অত্যন্ত নমনীয়, দ্রুত, এবং প্রোডাক্টিভ বিল্ড সিস্টেম প্রদান করে যা একাধিক ভাষা এবং ফ্রেমওয়ার্কে কাজ করতে পারে। Gradle এর দুটি মূল উপাদান হল Build Scripts এবং Tasks। এই দুটি উপাদান আপনাকে বিল্ড প্রক্রিয়া কনফিগার করতে, পরিচালনা করতে এবং এক্সিকিউট করতে সাহায্য করে।


1. Gradle Build Scripts

Build Scripts হল স্ক্রিপ্ট ফাইল যা Gradle বিল্ড প্রক্রিয়া কনফিগার করার জন্য ব্যবহৃত হয়। সাধারণত, Gradle বিল্ড স্ক্রিপ্টগুলি Groovy বা Kotlin DSL (Domain-Specific Language) ব্যবহার করে লেখা হয়। Gradle এর বিল্ড স্ক্রিপ্টগুলি build.gradle (Groovy DSL) অথবা build.gradle.kts (Kotlin DSL) ফাইলের মাধ্যমে তৈরি করা হয়।

Groovy DSL (build.gradle)

Groovy DSL তে Gradle স্ক্রিপ্টের মধ্যে প্লাগইন, ডিপেন্ডেন্সি, টাস্ক, এবং অন্যান্য কনফিগারেশন সন্নিবেশিত থাকে।

build.gradle উদাহরণ:
plugins {
    id 'java'
}

group = 'com.example'
version = '1.0-SNAPSHOT'

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework:spring-core:5.3.10'
}

task hello {
    doLast {
        println 'Hello, Gradle!'
    }
}

এখানে:

  • plugins ব্লকটি Gradle প্লাগইন কনফিগার করে (এখানে Java প্লাগইন যোগ করা হয়েছে)।
  • repositories ব্লকটি ডিপেন্ডেন্সি ফেচ করার জন্য রেপোজিটরি (যেমন Maven Central) নির্ধারণ করে।
  • dependencies ব্লকটি প্রোজেক্টের জন্য ডিপেন্ডেন্সি ডিক্লেয়ার করে (যেমন Spring Core এর একটি ভার্সন)।
  • task hello একটি কাস্টম টাস্ক তৈরি করে, যা doLast ব্লকের মধ্যে কার্যকর হয় এবং 'Hello, Gradle!' প্রিন্ট করে।

Kotlin DSL (build.gradle.kts)

Kotlin DSL তে Gradle স্ক্রিপ্টগুলি Kotlin ভাষায় লেখা হয়, যা Groovy এর তুলনায় আরও স্ট্যাটিক এবং টাইপ সেফ।

build.gradle.kts উদাহরণ:
plugins {
    kotlin("jvm") version "1.5.21"
}

repositories {
    mavenCentral()
}

dependencies {
    implementation("org.jetbrains.kotlin:kotlin-stdlib")
}

tasks.register("hello") {
    doLast {
        println("Hello, Gradle!")
    }
}

এখানে:

  • plugins ব্লকটি Kotlin প্লাগইন যোগ করে।
  • repositories ব্লকটি ডিপেন্ডেন্সি রেপোজিটরি নির্ধারণ করে।
  • dependencies ব্লকটি প্রোজেক্টের জন্য ডিপেন্ডেন্সি নির্ধারণ করে।
  • tasks.register("hello") একটি কাস্টম টাস্ক তৈরি করে যা 'Hello, Gradle!' প্রিন্ট করে।

2. Gradle Tasks

Tasks হল Gradle এর সবচেয়ে গুরুত্বপূর্ণ অংশ। এটি আপনার বিল্ড প্রক্রিয়াকে একাধিক স্টেপে ভাগ করে, যা সম্পন্ন হওয়ার পর আগের স্টেপে নির্ধারিত কাজগুলো পরবর্তী স্টেপে প্রক্রিয়া করতে সহায়তা করে। একেকটি task বিভিন্ন বিল্ড অপারেশন বা কার্যক্রম যেমন: কম্পাইল, প্যাকেজিং, টেস্টিং ইত্যাদি সম্পাদন করতে ব্যবহৃত হয়।

Task এর গঠন:

  • প্রতিটি task একটি বা একাধিক actions ধারণ করে, যা task চলার সময় সম্পাদিত হয়।
  • doLast {} বা doFirst {} ব্লক ব্যবহার করে task এর কার্যক্রম (action) কনফিগার করা হয়।

Gradle এর Predefined Tasks:

Gradle কিছু predefined tasks দেয় যা আপনাকে সাধারণ বিল্ড কার্যক্রম যেমন compile, test, build ইত্যাদি চালাতে সাহায্য করে। উদাহরণস্বরূপ:

  • build: প্রোজেক্ট বিল্ড করতে ব্যবহৃত একটি task।
  • test: টেস্ট চালানোর জন্য ব্যবহৃত task।
  • clean: পূর্বের বিল্ডের আউটপুট পরিষ্কার করতে ব্যবহৃত task।

Custom Tasks

Gradle এ আপনি আপনার নিজস্ব কাস্টম টাস্ক তৈরি করতে পারেন, যার মাধ্যমে নির্দিষ্ট কার্যক্রম সম্পন্ন করা হয়।

Custom Task উদাহরণ:
task hello {
    doLast {
        println 'Hello, this is a custom task!'
    }
}

task goodbye {
    doLast {
        println 'Goodbye, Gradle!'
    }
}

hello.finalizedBy(goodbye)  // goodbye task will run after hello task

এখানে:

  • hello নামক একটি কাস্টম টাস্ক তৈরি করা হয়েছে যা 'Hello, this is a custom task!' প্রিন্ট করবে।
  • goodbye টাস্ক hello টাস্কের পরে চলবে, কারণ hello.finalizedBy(goodbye) ব্যবহার করা হয়েছে।

Task Dependencies:

Gradle এর মধ্যে আপনি টাস্কের মধ্যে নির্ভরতা তৈরি করতে পারেন, যেমন একটি টাস্ক অন্য টাস্ক সম্পন্ন হওয়ার পর চালানো হয়।

Task Dependencies উদাহরণ:
task compileJava {
    doLast {
        println 'Compiling Java source code...'
    }
}

task compileResources {
    doLast {
        println 'Compiling resources...'
    }
}

compileJava.dependsOn compileResources  // compileJava will run after compileResources

এখানে, compileJava টাস্কটি compileResources টাস্কের উপর নির্ভরশীল, তাই compileResources আগে চালানো হবে।


Gradle Build Scripts এবং Tasks এর সুবিধা

  1. নমনীয়তা এবং কাস্টমাইজেশন: Gradle আপনাকে কাস্টম বিল্ড স্ক্রিপ্ট এবং টাস্ক তৈরি করার মাধ্যমে আপনার বিল্ড প্রক্রিয়াটি পুরোপুরি কাস্টমাইজ করতে দেয়।
  2. কমপ্লেক্স বিল্ড প্রসেস সিমপ্লিফাই করা: Gradle এর টাস্ক এবং নির্ভরতা ব্যবস্থার মাধ্যমে আপনি কমপ্লেক্স বিল্ড প্রসেসকে সিমপ্লিফাই করতে পারেন এবং বিভিন্ন স্টেপে ভাগ করতে পারেন।
  3. অত্যন্ত দ্রুত এবং কার্যকরী: Gradle একটি ইনক্রিমেন্টাল বিল্ড টুল, যা শুধুমাত্র পরিবর্তিত ফাইলগুলোকে পুনরায় বিল্ড করে, ফলে বিল্ড প্রসেস দ্রুত হয়ে থাকে।
  4. ডিপেন্ডেন্সি ম্যানেজমেন্ট: Gradle একটি শক্তিশালী ডিপেন্ডেন্সি ম্যানেজমেন্ট সিস্টেম সরবরাহ করে, যা Maven বা Ivy রেপোজিটরি থেকে ডিপেন্ডেন্সি সহজেই ডাউনলোড করতে সক্ষম।

সারসংক্ষেপ

  1. Gradle Build Scripts হল স্ক্রিপ্ট ফাইল যা Java, Groovy, Kotlin বা অন্য ভাষায় বিল্ড প্রক্রিয়া কনফিগার করার জন্য ব্যবহৃত হয়। এগুলি সাধারণত build.gradle বা build.gradle.kts ফাইল হিসেবে থাকে।
  2. Tasks হল Gradle এর মৌলিক ইউনিট, যা কোড কম্পাইল, টেস্টিং, ডিপেন্ডেন্সি ডাউনলোড ইত্যাদি কার্যক্রম সম্পাদন করতে ব্যবহৃত হয়।
  3. Gradle আপনাকে কাস্টম টাস্ক তৈরি করার সুবিধা দেয়, যা নির্দিষ্ট কার্যক্রম বা ডিপেন্ডেন্সি চালানোর জন্য ব্যবহৃত হয়।

Groovy তে Gradle ব্যবহার করে আপনি সহজেই বিল্ড স্ক্রিপ্ট তৈরি করতে পারেন এবং টাস্কগুলিকে কাস্টমাইজ ও নিয়ন্ত্রণ করতে পারেন, যার ফলে সফটওয়্যার ডেভেলপমেন্ট এবং ডিপ্লয়মেন্ট আরও দ্রুত ও কার্যকর হয়।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion